/**
 * 
 */
package it.unitn.testbed.client.common;

import java.io.Serializable;
import java.util.List;

/**
 * Described a task component, i.e. a mapping between a TinyOS binary and the
 * motes where this binary should be flashed.
 * 
 * @author Stefan Guna
 * 
 */
public class BriefTaskComponent implements Serializable {

	private static final long serialVersionUID = 1L;
	/** The filename of the TinyOS binary. */
	private String filename;
	/** Task component ID. */
	private long id;
	/** The mote IDs where this binary should be flashed */
	private List<Integer> moteIds;

	/** Required by GWT */
	@SuppressWarnings("unused")
	private BriefTaskComponent() {
	}

	/**
	 * Constructor for a new task component.
	 * 
	 * @param id
	 *            The task component ID.
	 * @param filename
	 *            The name of the binary.
	 * @param moteIds
	 *            The list of mote IDs where the binary should be flashed.
	 */
	public BriefTaskComponent(long id, String filename, List<Integer> moteIds) {
		this.id = id;
		this.filename = filename;
		this.moteIds = moteIds;
	}

	/**
	 * @return the filename
	 */
	public String getFilename() {
		return filename;
	}

	/**
	 * @return the id
	 */
	public long getId() {
		return id;
	}

	/**
	 * @return the moteIds
	 */
	public List<Integer> getMoteIds() {
		return moteIds;
	}
}
